package model

import (
	"encoding/json"
)

type FeePlanGroupObjectCreateRequest struct {
	Id        int64           `json:"id"`
	Detail    json.RawMessage `json:"detail"`
	GroupId   int64           `json:"group_id"`
	ObjectId  int64           `json:"object_id"`
	CreatedAt int64           `json:"created_at"`
	UpdatedAt int64           `json:"updated_at"`
}

type FeePlanGroupObjectUpdateRequest struct {
	Id        *int64          `json:"id"`
	Detail    json.RawMessage `json:"detail"`
	GroupId   *int64          `json:"group_id"`
	ObjectId  *int64          `json:"object_id"`
	CreatedAt *int64          `json:"created_at"`
	UpdatedAt *int64          `json:"updated_at"`
}
type FeePlanGroupObjectListRequest struct {
	Id        *int64          `json:"id"`
	Detail    json.RawMessage `json:"detail"`
	GroupId   *int64          `json:"group_id"`
	ObjectId  *int64          `json:"object_id"`
	CreatedAt *int64          `json:"created_at"`
	UpdatedAt *int64          `json:"updated_at"`
	Index     int             `json:"index"`
	Size      int             `json:"size"`
}
type FeePlanGroupObjectListResponse struct {
	Total int                       `json:"total"`
	List  []*FeePlanGroupObjectInfo `json:"list"`
}
type FeePlanGroupObjectInfoRequest struct {
	Id int64 `json:"id"`
}
type FeePlanGroupObjectInfo struct {
	Id        int64           `json:"id"`
	Detail    json.RawMessage `json:"detail"`
	GroupId   int64           `json:"group_id"`
	ObjectId  int64           `json:"object_id"`
	CreatedAt int64           `json:"created_at"`
	UpdatedAt int64           `json:"updated_at"`
}
type FeePlanGroupObjectDeleteRequest struct {
	Id int64 `json:"id"`
}

type FeePlanGroupObjectDeleteByGroupIDRequest struct {
	GroupID int64 `json:"group_id"`
}
